home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-05-31 | 51.5 KB | 1,453 lines |
-
-
-
-
-
-
- STARFALL SOFTWARE PRESENTS
- XYZ version 2.0
- ===============
- By Alan Hamilton
- Copyright (C) 1991, all rights reserved
-
-
- 1 WHAT IT IS
-
- Here it is.... all you need for transferring files with your ST. I was
- frustrated by the limitations that the ST version of RZ.TTP and SZ.TTP had, so
- I wrote my own, and I'm willing to fix any bugs that turn up in it.
-
- XYZ version 2.0 is SHAREWARE and copyrighted. You may freely pass it around
- and post it on private or public BBSs. If you like it, please help out by
- making a contribution. I suggest $10, but if you think XYZ is worth less, or
- more, send whatever you think is fair. The previous version, v1.43, is not
- copyrighted and still free, so if it serves your needs, feel free to continue
- using it. If you have registered an earlier version of XYZ version 2, you do
- not need to reregister.
-
- Send comments, contributions, etc. to: Alan Hamilton
- 6202 N. 16th St. #202
- Phoenix, AZ 85016-1734
-
-
- Features include:
- 1. Transfers all files unchanged -- "binary" mode.
- 2. Transfers files at the maximum speed the system you are connected to can
- support. No "wait states."
- 3. The timestamps on the files are preserved, unless you don't want them to
- be. You are told, in regular calendar format, what the timestamp is.
- 4. Interrupted transfers can be restarted where they left off (in ZMODEM).
- 5. You are kept informed as to how much of the file has actually been
- received, not how many bytes have been received in the current session. If
- you tried to restart a transfer with RZ.TTP, you wouldn't know where you
- were.
- 6. There is no feature six.
- 7. Filenames that aren't compatible with the ST are transformed into ones
- that are, not just truncated at the first illegal character. If they can't be
- converted, a random filename is chosen. These transformed filenames are
- unique -- no more losing a file because after being truncated because it was
- the same as a previous filename.
- 8. Works with all ST, STe and Mega ST configurations.
- 9. Includes versions of XMODEM and YMODEM for completeness.
-
-
- 2 LEGAL STUFF
-
- XYZ is copyright (C) 1991 by Alan Hamilton, all rights reserved. It may be
- copied and distributed freely provided that the XYZ.TTP, XYZ.DOC, and READ.ME
- files are all included. If distributed for a fee, it should be made clear to
- the purchaser that the fee does not include the shareware fee (see above).
-
-
-
-
-
- - 1 -
-
-
-
-
-
-
-
- XYZ is shareware. If you use XYZ, please register it. I suggest a $10
- registration fee, but if you think it's worth more, or less, send that
- amount.
-
- Although I've done my best to test XYZ, it's offered "as is" with no guarantee
- at all. You use it at your own risk. I will not be responsible for any
- losses you may suffer from using it.
-
-
- 3 ACKNOWLEDGMENTS
-
- XMODEM was developed by Ward Christenson.
- YMODEM and ZMODEM were developed by Chuck Forsberg of Omen Technology.
- CRC code by Stephen Satchell of Satchell Evaluations, and Chuck Forsberg of
- Omen Technology.
- Flash is a trademark of Antic Publishing.
- C library code copyright (C)1988 by the Mark Williams Company.
- 520ST, 1040ST, STe, Mega ST and Mega STe are trademarks of Atari, Inc.
- GEnie is a trademark of GEISCO/General Electric.
- GEM and GEM Desktop are trademarks of Digital Research.
-
- 4 WHAT IT ISN'T
-
- Although XYZ supports the most useful parts of the ZMODEM protocol, there are
- a few things that aren't.
-
- 1. Commands. This part of the ZMODEM protocol was intended to allow you to
- remotely control a system. Since XYZ is intended to be manually operated, and
- the ST doesn't have a standard command line interface, commands are not
- accepted.
- 2. Compression. Neither run-length encoding (RLE) nor Lempel-Ziv-Welch (LZW)
- compression is supported. You can use a separate utility to compress files
- and then send them with XYZ if you want.
- 3. Challenges. XYZ does not try to verify that it is connected to a system
- that is ready for ZMODEM. It assumes that you have already told that system
- to go to ZMODEM.
- 4. Pathnames. XYZ does not send any path information to the remote system,
- and strips off any it receives.
- 5. Selective file replacement. The ZMODEM protocol lets you selectively
- transfer files based on whether they exist or don't exist at the receiver, or
- whether they are different in file size, date, or CRC. XYZ only does one of
- two things while downloading: If a file does not exist, it is transferred in
- its entirety. If it does exists, it assumes that you are resuming a file
- transfer that was aborted, and tries to resume at the end of what you have.
- When uploading, the remote system will decide which files to accept.
- 6. File transmission resumption. Do not try to download a file that already
- exists on your disk unless you are trying to recover an aborted transfer. The
- file will be damaged if it is a different file, despite having the same name.
- If the file was previously received in its entirety, and you try to restart a
- download on it, it probably won't be damaged, but this depends on how the
- sender reacts, so be careful.
- 7. Disk space check. If the sender tries to check on how much space you have
- available on your disk, XYZ will always tell it that you have an unlimited
- amount. This was done because checking the disk space is a very slow
-
-
-
-
- - 2 -
-
-
-
-
-
-
-
- operation on hard drives.
- 8. Encrypting. File encryption is not supported.
- 9. Seven bit transfers. Transferring eight bit files (non-text files) over
- lines that only support seven bits per character is not supported. This is
- something you'd only run into with a mainframe.
- 10. Sparse files. Transferring selected portions of a file that's mostly
- zeros is not supported. The entire file must be sent.
- 11. 32 bit CRCs. XYZ only uses 16 bit CRCs, which should be sufficient
- unless you are really paranoid about data integrity.
- 12. CRC checks on files. Some systems will do this to determine whether or
- not they have the same version of a file as the one you are sending. XYZ
- doesn't support this check at this time.
-
- 5 HOW TO USE IT
-
- 5.1 Configuration
- XYZ is mainly intended to be run from inside a regular telecommunications
- terminal program. Because of this, it does not alter the settings of your
- ST's RS232 port from what the terminal program has set them to. For XYZ the
- RS232 port should be set as follows:
-
- Baud (or bits per second or BPS):
- This should match what the system you are connecting with requires, and what
- your modem is capable of.
- Data bits: 8
- Parity: None
- Stop bits: 1 or 2
- Flow control: XOFF/XON (also called DC2/DC4): OFF
- RTS/CTS: OFF, unless you are using a high-speed modem that
- requires it to be on.
-
- These settings are very common, so you probably won't have to change them.
-
- 5.2 Running from the Desktop
- If you can't run programs from within your terminal program, or your memory
- space is limited, you will have to exit to the Desktop to run XYZ. Set the
- remote system up for the transfer, then exit your terminal program. Open XYZ,
- and a dialog box will appear. Type in the options (see below for the options
- available), click on OK, and the transfer will start. One of the options you
- will want to specify is -p which will make XYZ pause before it returns to the
- GEM Desktop. If you don't specify a folder to download to, the files will go
- into the same folder that XYZ is in. After XYZ finishes, it will exit back to
- the Desktop. You may then rerun your terminal program and continue.
-
- 5.3 Running from within a terminal program
- If you can run programs from within your terminal program, life gets much
- easier. If, however, your terminal program doesn't let you pass parameters to
- a .TTP program, you will only be able to download only with ZMODEM and to the
- default folder. See the manual for your terminal program for directions on
- running other programs.
-
- In Flash, the command is "exec xyz.ttp" (omit the quote marks). Any options
- go after the program name. If you are keeping XYZ in a different folder than
- the default one (set with Flash's DP or CD commands), you will have to specify
-
-
-
-
- - 3 -
-
-
-
-
-
-
-
- it: "exec c:\telecom\xyz.ttp". You can even program a function key to run
- XYZ, and download with the push of one button. Program the key you want with
- ">exec xyz.ttp|", along with any options you want before the |. (See the
- Flash manual on setting function keys.) After XYZ completes, you will be
- returned to Flash.
-
- 5.4 Aborting a transfer
- If you want to stop a transfer before it is complete, press the UNDO key. XYZ
- will send an abort sequence to the remote system and terminate. Keep in mind
- that some mainframes take their own sweet time responding to abort sequences,
- so you may see a long string of garbage on your screen, or the mainframe may
- seem to have locked up. If you are using ZMODEM, you can restart the transfer
- of a partially transferred file later.
-
- 5.5 Second chance file save
- In case of a disk error while saving a downloaded file, XYZ will give you a
- second chance to save the file, with the limitation that the entire file must
- fit in XYZ's buffer, and that you respond to the error message within 30
- seconds. The time delay only applies to your first response. After that, XYZ
- will wait any amount of time for your input. To cancel the time out, press
- any key.
-
- You have three options.
-
- Retry save, selected by typing 'R', makes XYZ try the operation again. If the
- problem that caused the first failure hasn't been fixed, the error will happen
- again.
-
- New path, selected by typing 'N', lets you enter a different folder or drive
- to save to. For example, to save to the root directory of drive B:, you'd
- enter "B:\" (without the quote marks). If you select a path that doesn't
- exist, you will get another error.
-
- Abort, selected by typing 'A', makes XYZ abort the save. You will lose
- anything that was in XYZ's buffer, and the file transfer will be aborted.
- If you don't respond to the error message within 30 seconds, XYZ will choose
- Abort for you. This happens so that if XYZ is running unattended, it won't
- get stuck.
-
- 5.6 Downloading
- 5.6.1 ZMODEM
- The -z option selects ZMODEM, but since this is what XYZ defaults to, the -z
- may be omitted. You can specify a folder to download to on the command line.
- If you don't specify a folder, XYZ will put the files in the current default
- folder. This is either the folder that XYZ was run from or the folder your
- terminal program was run from, unless you've explicitly changed it with
- something like Flash's DP command.
-
- Examples: No options means download ZMODEM
- to the default folder
- c:\download Download ZMODEM to the DOWNLOAD folder
- on drive C:
-
- The RZ ZMODEM program supports some extra options that can be set by XYZ when
-
-
-
-
- - 4 -
-
-
-
-
-
-
-
- it is uploading to a system that is running RZ. These options are passed
- along to it. If the other system is not running RZ, they will be ignored.
- Since the option flags mimic those of RZ, they must be in the same case as
- they are given -- upper or lower. Unless you are having problems with the
- other system, you probably should not need these. The options should be
- stacked right after the -z command, like -zaY.
- a Convert newlines to local format
- b Binary file -- no conversion
- n Transfer if source newer
- N Transfer if newer or longer
- p Protect file -- don't overwrite
- r resume interrupted transfer
- y Clobber (replace) file
- Y Send file if not present
- + Append to existing file
-
- 5.6.2 YMODEM
- The -y option selects the YMODEM batch protocol. You should know that some
- BBSs call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
- batch." If the system offers both those options, select YMODEM batch to use
- with XYZ's YMODEM.
-
- You can specify a folder to download to on the command line. If you don't
- specify a folder, XYZ will put the files in the current default folder. This
- is either the folder that XYZ was run from or the folder your terminal program
- was run from, unless you've explicitly changed it with something like Flash's
- DP command.
-
- Examples: -y Download YMODEM to the default folder
- -y c:\download Download YMODEM to the DOWNLOAD folder
- on drive C:
-
- 5.6.3 XMODEM
- The -x option selects an XMODEM file transfer. You should know that some BBSs
- call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
- batch." If the system offers both those options, select YMODEM to use with
- XYZ's XMODEM with 1K blocks, or XMODEM to use with XYZ's XMODEM with 128 byte
- blocks.
-
- XMODEM does not provide a way for the remote system to tell XYZ what the name
- of the file being transferred is, so you must put the file name on the command
- line. If you want the file to go into a folder other than the default one,
- you should specify the path name also. See the examples below.
-
- You do not need to tell XYZ if the remote system will be using 1K blocks or
- not. XYZ will get that information by itself from the other system.
-
- If you want to transfer an XMODEM file from a very old system that is still
- using the original XMODEM with checksum error checking, use the -xc option
- instead of -x on the command line. You should only use this if it's all the
- system will support. The newer CRC error checking is much more reliable.
-
- Examples: -x forbush.txt Download with XMODEM the file FORBUSH.TXT
- to the default folder
-
-
-
-
- - 5 -
-
-
-
-
-
-
-
- -x a:\pdq\phred.txt Download with XMODEM the file PHRED.TXT
- to the PDQ folder on drive A:
- -xc oldfile.txt Download with XMODEM using checksum error
- detection the file OLDFILE.TXT
-
- 5.7 Uploading
- 5.7.1 Wildcards
- When uploading with YMODEM or ZMODEM, you can transfer more than one file at
- once. You can put the names of the files to send on the command line, but you
- are limited by the length of the line, and in any case, XYZ will only take 10
- filenames that way. By using wildcards, you can give XYZ a partial filename,
- and it will upload all the filenames that match it.
-
- The two wildcard characters are ? and *. The question mark will match exactly
- one character, and the asterisk will match zero, one, or more characters.
- Suppose you have the following files on your disk:
-
- THING1.PRG
- THING2.PRG
- THING.PRG
- THING44.TXT
-
- THING?.PRG would match THING1.PRG and THING2.PRG. THING*.PRG would match
- THING1.PRG, THING2.PRG, and THING.PRG. *.TXT would match THING44.TXT only.
- The wildcard combination *.* will match all of them. You should be careful
- about using *.*, as it will send every file in the folder, including XYZ,
- should it be in that folder.
-
- 5.7.2 ZMODEM
- The options -u -z select ZMODEM uploading. ZMODEM is the default, so you can
- just specify -u if you want. Place the filenames of the files you want to
- transfer (up to ten) on the command line. You can also specify filenames in
- an input file using the -i command (see below). Wildcards are allowed, and
- XYZ will send every file that matches, even if there are more than ten files.
-
- Examples: -u c:\uploads\*.* Upload using ZMODEM every file in the
- UPLOADS folder on drive C:
- -u file1 file2 Upload using ZMODEM FILE1 and FILE2 from
- the default folder
- -u a:\*.arc Upload using ZMODEM every ARC file in
- the root directory of drive A:
- -u -ifile.lst Upload the files listed in the FILE.LST
- file
-
- 5.7.3 YMODEM
- The options -u -y select YMODEM uploading. You should know that some BBSs
- call XMODEM-1K (XMODEM with 1K blocks) "YMODEM," and call YMODEM "YMODEM
- batch." If the system offers both those options, select YMODEM batch to use
- with XYZ's YMODEM.
-
- Place the filenames of the files you want to transfer (up to ten) on the
- command line. You can also specify filenames in an input file list using the
- -i command (see below). Wildcards are allowed, and XYZ will send every file
- that matches, even if there are more than ten files.
-
-
-
-
- - 6 -
-
-
-
-
-
-
-
-
- Examples: -u -y c:\uploads\*.* Send using YMODEM all the files in the
- UPLOADS folder on drive C:
- -u -y file1 file2 Send using YMODEM FILE1 and FILE2 from
- the default folder
- -u -y a:\*.arc Send using YMODEM all the ARC files from
- the root directory of drive A:
- -u -y -ifile.lst Send using YMODEM all the files listed
- in the FILE.LST list
-
- 5.7.4 XMODEM
- The options -u -x select XMODEM uploading. Using the option -x1k instead of
- -x makes XYZ use 1K blocks rather than the default 128 byte blocks. 1K blocks
- make the transfer go faster, but the remote system has to support them. You
- should know that some BBSs call XMODEM-1K (XMODEM with 1K blocks) "YMODEM,"
- and call YMODEM "YMODEM batch." If the system offers both those options,
- select "YMODEM" to use with XYZ's XMODEM with 1K blocks, or "XMODEM" to use
- 128 byte blocks.
-
- You don't need to tell XYZ whether to use CRC or checksum error detection
- while uploading. It will get that information directly from the remote
- system.
-
- XMODEM can only transfer one file per session. Put the name of the file to
- send on the command line. You can also specify the filename in an input file
- list using the -i command. If you use wildcards, only the first file that
- matches will be sent. This may be any one of the matching files, and there's
- no good way to tell in advance which one it will be. Using wildcards with
- XMODEM is *not* recommended for this reason.
-
- Examples: -u -x snowball.arc Send using XMODEM the file SNOWBALL.ARC
- from the default folder
- -u -x1k ako.gif Send using XMODEM-1K the file AKO.GIF
- from the default folder
- -u -x1k a:\b\c.arc Send using XMODEM-1K the file C.ARC
- from the B folder on drive A:
- -u -x1k -ifile.lst Send using XMODEM-1K the file listed in
- the FILE.LST file
-
- 5.8 Options
- 5.8.1 -1 Disable batch mode (1 file)
- If you are downloading, and only want to accept one file using YMODEM or
- ZMODEM, use this option. If the other system tries to send more than one
- file, XYZ will reject the extra files. You have the option of specifying the
- name that the one file will be saved under. If you specify a filename right
- after the -1 option, the one file that is accepted will be saved under that
- name, not the name the other system gave it. Note that the -1 is the number
- one, not a lowercase L.
-
- Examples: -1 Only accept one file in transfer
- -1afile.arc Only accept one file, and save it under the name
- AFILE.ARC, regardless of what the other system called
- it.
-
-
-
-
-
- - 7 -
-
-
-
-
-
-
-
- 5.8.2 -a Alarm
- Normally, XYZ will ring the terminal bell when it has completed transferring
- all the selected files. Putting -a on the command line makes XYZ ring the
- bell after each and every file.
-
- 5.8.3 -c Detect modem carrier
- This makes XYZ constantly check the status of the modem's carrier detect line.
- If the modem loses the carrier from the remote system, and this option is
- specified, XYZ will abort the transfer.
-
- 5.8.4 -h Help
- This causes a short description of the available options to print out, along
- with the current version number. Giving an invalid option gets you this
- display, too.
-
- 5.8.5 -i Input file list
- This lets you specify a text file containing the names of files to be
- uploaded. Each filename should be separated by any combination of spaces,
- tabs, cursor returns, or line feeds. The name of the file should come right
- after the -i option.
- Examples: -ifile.lst Upload files listed in the file FILE.LST
- -ia:\file.lst Upload files listed in the file FILE.LST on drive
- A:
-
- 5.8.6 -o Output file list
- This option will make XYZ make a text file containing the filename of all
- files that were uploaded or downloaded successfully. If a transfer was
- aborted, the name of the file not sent will not be listed.
- Example: -olist.txt List files transferred in the file LIST.TXT
-
- 5.8.7 -p Pause
- If you are running XYZ from the Desktop, you won't be able to see any error
- messages when it exits, as the Desktop wipes them out. Putting -p on the
- command line will make XYZ prompt you to press a key before it exits.
-
- 5.8.8 -q Quiet
- This option lets you suppress XYZ's messages. Using -q suppresses the status
- messages, but still allows error messages. Using -qq prevents any messages
- from being generated. Note that the -v option will not work with the -qq
- option.
-
- 5.8.9 -r Set retry limit
- Ordinarily, XYZ will abort a transfer if more than ten errors occur. When you
- have had that many errors, the chances of an error slipping through undetected
- become greater. If, however, you want to take your chances, you can set the
- retry limit with this command. It can be set anywhere from the default 10 up
- to 1000. There must not be any spaces between the -r and the number.
- Example: -r50 Set XYZ's retry limit to 50
-
- 5.8.0 -s Return status
- This option is only useful if you are having some other program call up XYZ.
- The -s option makes XYZ return a status code that indicates how the file
- transfer went. Use this only with a program that expects XYZ to return status
- codes. See the error messages section for details on what the errors mean.
-
-
-
-
- - 8 -
-
-
-
-
-
-
-
- The codes are:
- 0 No error
- -1 Missing block number
- -2 Missing or bad header
- -3 Synchronization error
- -4 Timed out
- -5 Checksum error
- -6 User aborted
- -7 File error
- -8 Too many retries
- -9 CRC error
- -10 Filename must be specified
- -11 Bad escape character
- -12 Bad or unsupported packet type
- -13 Bad hexadecimal character
- -14 Sender not ready or set to receive
- -15 Subpacket too long
- -16 Sender aborted
- -17 File position error
- -18 Sender indicates end of file, but file length is wrong
- -19 Receiver canceled
- -20 End of transmission not acknowledged
- -21 Bad option on command line
- -22 Not enough memory to allocate buffers
- -23 Modem carrier lost
- -24 Batch mode disabled -- file skipped
-
- 5.8.1 -t Touch
- This makes XYZ "touch" (set the time and date to the current time and date)
- files that it downloads. If the sender specifies a creation time and date for
- a file, that is normally retained. The -t option makes XYZ use the current
- time and date instead. If the creation time and date isn't specified by the
- sender, the current time and date is put on the file. XMODEM will always use
- the current time and date.
-
- 5.8.2 -v<file> Verbose mode
- This causes XYZ to output special debugging information. If no file is
- specified, the output goes to the screen. If a file is specified, it should
- be directly after the "v" (no spaces), and output will go to it, along with
- any error messages you might get. If you have problems with XYZ, run it with
- the -v option, and send the file it creates along with any comments to me.
- When using a file, there must not be any spaces between the -v and the file
- name.
- Examples: -v Download ZMODEM, sending debug info to screen
- -ve:\log.txt Download ZMODEM, sending debug info to "log.txt"
- on drive E:
-
-
- 6 PROBLEMS
- If you have problems with XYZ, look up the error messages here in the manual.
- If you can't resolve your problems using that information, run it using the
- -vlog.txt command, and send the log.txt, along with any other information that
- seems relevant, to me on the GEnie computer service, at STARFALL. You can
- also contact me at the mail address given at the start of this document.
-
-
-
-
- - 9 -
-
-
-
-
-
-
-
-
-
- 7 REVISION HISTORY
-
- 5-31-91: v2.01 A lot of bug fixes! The error recovery for ZMODEM uploads
- has, with any luck, been fixed. A bug that would cause bombs when aborting a
- YMODEM transfer has been fixed. New features are a vastly improved transfer
- status display, and the ability to abort the transfer if the modem drops
- carrier. The -b command has been removed, due to a more reliable method of
- detecting the transfer speed. New command line options:
- -1 (one file) Disable batch mode in Y/ZMODEM. Only accept one file.
- -c (detect carrier) Abort transfer if modem drops carrier.
- -i (input file list) Files to send can be listed in a text file.
- -o (output file list) Files transferred can be listed in a text file.
- -q (quiet) Status messages can be suppressed.
-
- 11-19-90: v2.0: I knew I'd get back to it eventually.
- New command line options:
- -u (upload) Yes, uploading is here finally!
- -s (status) If you are running XYZ from another program, like a BBS, you
- can have XYZ return error codes.
- -b (baud rate) sets rate that file transfer times are based on. See below.
- New features:
- Transfer time estimation. XYZ will estimate the time it will take to send
- a file, based on the speed that the serial port is set at, or on the rate you
- specify with the -b option.
- Second chance save. If XYZ encounters a disk error while saving a file,
- and the file will fit entirely within XYZ's buffer, XYZ will give you a second
- chance to save it.
- Bugs relating to changing incompatible filenames have been fixed. The -v
- option no longer has to be the last one on the command line. YMODEM doesn't
- bomb on some errors anymore. ZMODEM handles resending packets better.
- Sometimes you would get a GEM dialog box in response to a disk error, but the
- mouse was disabled so you couldn't select anything. XYZ now handles its own
- errors.
-
- 12-6-89: v1.43: More bug fixes! When trying to rename some incompatible
- filenames, XYZ would bomb. If you tried to download more than one file in a
- ZMODEM session, and the first file was a restarted transfer (already partially
- downloaded), the characters per second speed rating would be wrong on
- subsequent files. A new option "-a" has been added. This will make the
- terminal bell ring after every file in YMODEM and ZMODEM, not just at the end
- of a complete session. XYZ now shows its version and creation date whenever
- you run it. A byte count is now shown along with the block count in XMODEM
- and YMODEM. XMODEM and YMODEM can now recover from a timeout error on the
- first block. XMODEM and YMODEM now will retry the correct number of times; it
- was only retrying half as many as it should have. A few typos have been fixed
- in the program and this doc file (how come nobody told me "transferred" had
- two r's?).
-
- 11-3-89: v1.42: In 1.41, if you were disconnected while using ZMODEM, XYZ
- would not time out, and you would not be able to use the UNDO key to abort.
- The only way out would be to reset the computer. The console bell now rings
- at the end of a file transfer session.
-
-
-
-
- - 10 -
-
-
-
-
-
-
-
-
- 10-21-89: v1.41: Lots o' changes this time:
- 1. If v1.3 of XYZ was started before the sender started up, XYZ would bomb.
- Fixed.
- 2. A bug in handling of file creation dates in YMODEM has been fixed.
- 3. XMODEM and YMODEM now use disk buffering.
- 4. File errors are now more explicit as to what the problem is.
- 5. ZMODEM now can handle speeds over 9600 baud.
- 6. XMODEM and YMODEM now indicate how fast the files were transferred.
- ZMODEM no longer overstates the transfer rate if you are restarting a
- transfer.
- 7. Handling of retries is different. In earlier versions, the retry limit
- (before aborting) was supposed to be ten, but a bug made it only five. This
- has been fixed, and a new option has been added to let you specify a retry
- limit. Put -r<n> on the command line, with <n> replaced by the number of
- retries (up to 1000). For example, -r25 would give you 25 retries.
- 8. Some messages that were similar in YMODEM and ZMODEM were changed to be
- exactly the same.
- 9. Some of the C library code has been replaced with code of my own, making
- XYZ about 4k smaller.
-
- 10-1-89: v1.3 At long last, disk buffering is here! Rather than saving
- after every packet, XYZ only does a disk write after all available memory has
- been filled up. XYZ now lets you start it before the sender has started.
- This was attempted in v1.2, but a bug in the code would make XYZ bomb if you
- tried it. That has been fixed. A disk full condition is now reported, rather
- than just a generic "File error" if the disk doesn't have enough room for the
- file. A new option -p will make XYZ wait for you to press a key before
- exiting. This can be handy if you are running XYZ from the Desktop.
-
- 9-19-89: v1.2 Up to now, if XYZ got five CTRL-X's while waiting for a ZMODEM
- frame to start, it would abort with a "Sender aborted" error. Now it only
- aborts if it gets five *consecutive* CTRL-X's. Unexpected aborts most often
- happened during recovery of CRC errors. Now sends hardware break signal
- correctly. XYZ now handles timeout errors better.
-
- 9-15-89: v1.1: A rather stupid error regarding filename conversion has been
- fixed. XYZ would sometimes insert a '.' in the seventh or eighth position of
- a filename, regardless of whether it was appropriate or not. The help screen
- (printed in response to the -h option) has been rearranged.
-
- 9-13-89: XYZ v1.0 released. Implements ZMODEM for the first time. Buffer
- overflow at high bps rates fixed. Synchronization error in YMODEM fixed
- (again!). UNDO key handling improved. The documentation file, XYZ.DOC, is
- totally new. XY.DOC is no longer applicable.
-
- 7-2-89: XY.TTP v0.5 released. Handles only XMODEM and YMODEM. Early release
- to accommodate changes made to GEnie software that Flash(tm) could not
- handle.
-
-
- 8 ERROR MESSAGES
-
- Something that has always ticked me off is getting an error message from the
-
-
-
-
- - 11 -
-
-
-
-
-
-
-
- program I'm using, looking it up in the manual, and finding that IT'S NOT
- THERE! So, what follows is a complete listing, in alphabetical order, of
- every possible message that XYZ can produce, along with an explanation.
-
- Access denied
- The ST could not open a file either because the file is set to read only
- status, or a folder exists with that same name.
-
- Attn string: <hex bytes>
- This details the string the sender wants XYZ to use to interrupt it.
-
- Average transfer rate = <number> cps
- This gives the average throughput in characters per second.
-
- Bad escape char <hex byte>
- An invalid escape sequence was received. Probably caused by line noise.
-
- Bad escape character
- An invalid escape sequence was received. Probably caused by line noise.
-
- Bad hexadecimal character
- XYZ was expecting a hexadecimal digit but got an character that wasn't 0-9 or
- a-f. Probably caused by line noise.
-
- Bad option on command line
- An option that XYZ doesn't recognize was in the command line.
-
- Bad or unsupported packet type
- An unrecognized packet was received. Either caused by line noise, the sender
- being set to upload when XYZ is downloading or vice versa, or using ZMODEM
- features XYZ doesn't support. See "WHAT IT ISN'T" section.
-
- Bad packet type <number>
- Same as above. The type number of the packet is printed.
-
- Bad request
- A serious error within either the ST's operating system or within XYZ has
- occurred. You may have to reset your computer.
-
- Batch mode disabled -- file skipped
- More than one file was received, but the -1 command had been specified. The
- extra files are skipped.
-
- Bombs
- Not the word "Bombs", but the little cartoon bombs on the left side of your
- screen. The ST's processor has encountered an instruction that it can't
- process. This can be caused by a bad copy of XYZ, a conflict with a desk
- accessory or program in the AUTO folder, or (most likely) a coding boo-boo of
- mine.
-
- Block #<block number> (<number> bytes, <speed> cps)
- Number of the block being received, the number of bytes already transferred,
- and the number of characters per second that were transferred for this block.
-
-
-
-
-
- - 12 -
-
-
-
-
-
-
-
- Block resent, but not requested.
- A block was retransmitted that XYZ did not request. Caused either by line
- noise, or very slow responses by the sender.
-
- Buffer size = <size>
- The number of bytes of memory that XYZ will use as a buffer.
-
- Bytes transferred CPS: now / avg Time left
- Under this header are specified: the number of bytes transferred, the
- percentage of the file transferred, the transfer rate for the most recent
- block, and overall for the entire file, and the estimated time it will take to
- transfer the remainder of the file.
-
- Can't convert filename "<filename>", will use "<filename>"
- The sender specified a filename that XYZ couldn't make compatible with the
- Atari ST's operating system. A random filename with the extension .XYZ will
- be used.
-
- Can't find any files matching "<filename>"
- XYZ couldn't find one of the files you specified for uploading, or if you used
- wildcards, there were no matching files. Make sure that the filename is
- correct, and that you've specified the path if the file isn't in the default
- folder
-
- Can't open error log
- The filename specified with the -v (verbose) option can't be opened. The
- output will go to the screen instead.
-
- Can't open "<filename>" for input file list: <error>
- XYZ couldn't open the file specified in the -i command. Look up the <error>
- for the reason why.
-
- Can't open "<filename>" for output file list: <error>
- XYZ couldn't create the file specified in the -o command. Look up the <error>
- for the reason why.
-
- Can't read from input file list
- XYZ wasn't able to read in the file specified in the -i command, possibly due
- to a disk error.
-
- Caught a <number> signal
- The remote system is interrupting XYZ's upload with the indicated packet
- type.
-
- Checksum error
- The checksum on the last block was invalid. Probably caused by line noise.
-
- Command received, but commands not supported
- XYZ does not accept commands from remote systems. See "WHAT IT ISN'T"
- section.
-
- Command: <command>
- Text of command received. See above.
-
-
-
-
-
- - 13 -
-
-
-
-
-
-
-
- CRC error
- The CRC error detection code on the last block was invalid. Probably caused
- by line noise.
-
- Crc error (as part of file error message)
- The ST detected an error while accessing the disk. The disk may be damaged.
-
- Created on <date>
- Gives time and date that the file was created.
-
- Disk full!
- There isn't enough room on your disk to hold the file. The transfer is
- aborted, with as much of the file as the disk will hold saved. You can resume
- the transfer in ZMODEM if you move the partial file to another disk that has
- more room, or if you delete some files on the disk. If the entire file fits
- in the disk buffer, you can use the second chance save feature to save it to a
- different disk.
-
- Downloading YMODEM
- A YMODEM session has started.
-
- Drive not ready
- The disk drive isn't responding. Make sure the drive is attached, turned on,
- and has a formatted disk in it.
-
- Duplicate YMODEM header received. Ignored.
- A file specification block was retransmitted by the remote system, but it was
- not requested. Caused by line noise, very slow responses from the sender, or
- operating XYZ in XMODEM mode when the sender is using YMODEM.
-
- End of transmission not acknowledged
- XYZ finished sending a file using XMODEM or YMODEM, but the remote system did
- not answer XYZ's end of file signal. Caused by line noise, or the remote
- system going down.
-
- Enter new path:
- Enter the path that you want XYZ to retry the save operation on. Hit <RETURN>
- without entering anything to retry on the same path.
-
- Error closing file: <error type>
- XYZ closed a file that it was finished with, but a disk error occurred. Look
- up the error type in this section for an explanation.
-
- Error closing input file: <error type>
- Same as above.
-
- Error in positioning file pointer: <error type>
- XYZ tries to find the end of the file after it opens it. If it can't, you get
- this message. Look up the error type that prints out to find out what error
- occurred.
-
- Error in seeking to end of file
- Same as above.
-
-
-
-
-
- - 14 -
-
-
-
-
-
-
-
- Error opening file: <error type>
- XYZ could not open a file. Look up the error type in this section to find out
- what error occurred.
-
- Error opening input file: <error type>
- Same as above
-
- Error reading input file: <error type>
- A disk error occurred while XYZ was reading from a file. Look up the error
- type in this section for an explanation.
-
- Error seeking to end of file
- XYZ tries to find the end of the file after it opens it. If it can't, you get
- this message.
-
- Error seeking to offset <offset>
- An error occurred when XYZ tried to reference the indicated position in a
- file.
-
- Error writing to file: <error type>
- An error occurred while XYZ was trying to write to a file. Look up the error
- type in this section to find out what error occurred.
-
- File created on <time & date>
- The time the file being received was created.
-
- File created on <time & date>, reset to <time & date>
- The time the file being received was created. This will be changed to the
- current time and date.
-
- File creation date not specified, reset to <time & date>
- The sender did not specify a creation time; therefore the current time will be
- put on the file.
-
- File error
- A file error occurred while writing to the disk. Caused by a full disk, a bad
- filename, specifying a folder that doesn't exist, or a disk error.
-
- File error at sender
- A file error occurred at the remote system, so it is aborting the transfer.
-
- File exists -- transfer resuming at offset <offset>
- The file that is being transferred already exists, so it is assumed that an
- aborted transfer is being resumed.
-
- File <filename> exists!
- XMODEM and YMODEM will not overwrite a file that already exists. Specify a
- different file name (XMODEM) or path (YMODEM), or delete the file that
- already exists.
-
- File name is <filename>
- Specifies what file was being accessed when a disk error occurred.
-
- File not found
-
-
-
-
- - 15 -
-
-
-
-
-
-
-
- XYZ tried to read from a file that didn't exist. Make sure that the filenames
- you put on the command line exist and are in the correct folder.
-
- File pos = <position>, sender = <position>
- XYZ and the sender disagree over how much of the file has been sent. The
- position each claims is specified.
-
- File position error
- XYZ and the sender disagree over how much of the file has been sent.
-
- File name is <filename>
- The name of one of the current open file is printed.
-
- Filename must be specified
- When doing an XMODEM download, you have to put the filename on the command
- line.
-
- <number> files to send, <size> total size
- Gives the total number of files that have been selected for uploading, and the
- total number of bytes they take up.
-
- Function domain
- Function range
- XYZ has made a request of the ST's operating system that the ST can't handle.
- Either the operating system has been corrupted, or there is a bug in XYZ.
- Reset the computer and try again.
-
- Fundamental error
- The disk drive is not responding. Make sure that it is connected, turned on,
- and has a formatted disk in it.
-
- General error
- This is an internal error in the ST's operating system. You will probably
- have to reset the computer.
-
- Got <type> after ZEOF
- The indicated packet type was received after XYZ sent a ZEOF packet.
-
- Got a GOTCAN
- The remote system sent a session abort sequence (a series of CTRL-X's, or
- "CANcels") while XYZ was waiting for a character.
-
- Got a session abort while waiting for ZPAD
- The sender sent a series of CTRL-X's, or "CANcels," while XYZ was waiting for
- the start of a ZMODEM frame.
-
- Got a ZRPOS!
- This packet type is used for uploading, but XYZ got one when it was
- downloading. Make sure that XYZ and the remote system are set to send files
- in the same direction.
-
- Got a ZSKIP?!?
- This packet type is used for uploading, but XYZ got one when it was
- downloading. Make sure that XYZ and the remote system are set to send files
-
-
-
-
- - 16 -
-
-
-
-
-
-
-
- in the same direction.
-
- Got: <frame type> <header> <hex bytes> CRC <CRC value>
- This details a ZMODEM packet that was received.
-
- Got ZCRC '%c'
- This indicates tells the CRC type at the end of the last data subpacket.
-
- "<filename>" has been renamed to "<filename>"
- The remote system specified a filename that the ST cannot handle, so XYZ
- changed it to the specified name.
-
- Insufficient memory
- Either your computer does not have enough memory for XYZ to run, or something
- has gone wrong with the way the memory is being managed. Try removing desk
- accessories and/or programs in the AUTO folder to free up some memory. If you
- are running XYZ from within another program, you may have to run it from the
- Desktop to get enough memory.
-
- Internal error
- An error has occurred within the ST's operating system. You will probably
- have to reset the computer.
-
- Interrupted by packet type <type>
- The remote system is trying to get XYZ's attention with an error recovery
- message
-
- Invalid drive specified
- You specified a drive in the path name that does not exist. Be sure the drive
- letter you specified was correct, and the disk is connected and turned on.
-
- Invalid function number
- Invalid handle
- Invalid memory block address
- A serious internal error in XYZ or the ST's operating system has occurred.
-
- Invalid option <option>
- You put an option on the command line that XYZ does not recognize. A list of
- the valid options is printed out.
-
- <filename> matches <filename>, <number> bytes
- The filename (possibly with wildcards) for uploading matches the specified
- file.
-
- Media change
- You removed the disk from the drive while XYZ was using it. NEVER remove a
- floppy disk until after XYZ has finished running.
-
- Memory free: <# of bytes>
- Shows the amount of memory left free before XYZ allocates its buffers.
-
- Message: <text>
- The remote system sent a message.
-
-
-
-
-
- - 17 -
-
-
-
-
-
-
-
- Missing block number
- A valid block number was not received. Probably caused by line noise.
-
- Missing or bad header
- The block header was not sent completely or was garbled. Probably caused by
- line noise.
-
- Modem lost carrier
- The carrier detect line from the modem dropped. This usually means the remote
- system was disconnected.
-
- No files to upload were specified
- You selected upload, but didn't specify which files to send. Put the
- filenames on the command line.
-
- No handles left
- The ST has too many files open. If you are running XYZ from within another
- program that opens files without closing them, this error might occur.
- Otherwise, it indicates an internal error in the ST's operating system.
-
- Not enough memory to allocate buffers
- There isn't enough free memory to run XYZ. Remove some of your desk
- accessories and/or programs in the AUTO folder, or run XYZ from the desktop
- rather than from within a terminal program.
-
- Only one input file list allowed
- Only one file can contain an input file list.
-
- Only one output file list allowed
- XYZ can create only one output file listing.
-
- Only specify one path for downloading
- You can only download to a single path (YMODEM and ZMODEM) or download a
- single file (XMODEM).
-
- Path not found
- The path you specified on the command line does not exist. All the folders in
- the path must have already been created before you run XYZ. If you are using
- XMODEM, be sure the filename isn't the same as a folder's name.
-
- Press any key to exit....
- The -p option was put on the command line, and XYZ is about to terminate.
- Press a key to let it complete its termination.
-
- Range error
- A serious internal error has occurred within either the ST's operating system
- or within XYZ.
-
- Read <number> chars from offset <offset>
- The amount and location of data read from a disk file is indicated.
-
- Read fault
- An error occurred while the ST was trying to read from a disk. The disk may
- be damaged.
-
-
-
-
- - 18 -
-
-
-
-
-
-
-
-
- Receiver canceled
- The remote system has aborted the transfer.
-
- Receiver requests retransmission
- The remote system wants a packet resent. Probably caused by line noise.
-
- Receiver wants a CRC on this file but I can't do it
- Doing CRC checks on files isn't supported. See WHAT IT ISN'T section.
-
- Receiving file "<filename>", <size> bytes
- The transfer of a file has begun. The size is specified by the sender, and
- may not be the actual size of the file.
-
- Receiving file "<filename>", size not specified
- The transfer of a file has begun. The size of the file was not specified.
-
- Repositioning to offset <offset>
- The remote system wants XYZ to back up to the specified offset in the file.
- Probably caused by line noise.
-
- Retrying save....
- XYZ is making a second attempt to save the file.
-
- RS232 output buffer size = <size>
- The number of bytes that the ST's output buffer can hold is specified.
-
- Sector not found
- The ST is unable to read from the disk drive. Make sure it is connected,
- turned on, and has a formatted disk in it.
-
- Seek error
- The ST is unable to read from the disk drive. Make sure it is connected,
- turned on, and has a formatted disk in it.
-
- Sender aborted
- The remote system is aborting the transfer.
-
- Sender indicates end of file, but file length is wrong
- The remote system has come to the end of the file, but the number of bytes it
- says it sent does not match the number of bytes XYZ has received.
-
- Sender not ready or set to receive
- The remote system is echoing back XYZ's packets, or it is set to upload when
- XYZ is set to download. Make sure the remote system is started, and that it
- and XYZ are set to transfer files in the same direction.
-
- Sender requested CRC?!?
- The remote system requested a file CRC check while XYZ is downloading, but
- that's only allowed while uploading. Make sure the remote system and XYZ are
- set to transfer files in the same direction.
-
- Sender requests retransmission
- The sender wants XYZ to resend a packet. Probably due to line noise.
-
-
-
-
- - 19 -
-
-
-
-
-
-
-
-
- Sender sent ZCHALLENGE?!?
- The remote system issued a challenge while downloading, but this is only
- allowed during uploading. Make sure XYZ and the remote system are set up to
- transfer files in the same direction.
-
- Sender sent ZCOMPL -- ignored
- The sender indicates it completed a command, but XYZ doesn't issue commands.
-
- Sending <number> subpacket chars:
- XYZ is sending a data subpacket containing the indicated number of bytes.
-
- Sending file "<filename>", <size> bytes
- XYZ has started to upload the indicated file.
-
- Sent ZBIN <type> <hex bytes> CRC <CRC value>
- Details of a binary-style packet that XYZ sent
-
- Sent ZCRC '<type>' CRC <CRC value>
- A CRC packet was sent.
-
- Sent ZHEX <type> <hex bytes> CRC <CRC value>
- Details of a hex-style packet that XYZ sent
-
- Setblock failure due to growth restrictions
- Something has gone wrong with the ST's memory management.
-
- Skipping file at request of other system
- The remote system has requested that XYZ not send a particular file.
-
- Starting transfer at offset <offset>
- The remote system wants XYZ to restart the transfer of a partly transferred
- file
-
- Subpacket bad CRC: <CRC value>
- An invalid CRC was received at the end of a data subpacket. Probably due to
- line noise.
-
- Subpacket too long
- A data subpacket has exceeded 1k in length, or an attention string is over 32
- bytes long. Probably due to line noise.
-
- Synchronization error
- The sender is sending the wrong packet. Probably caused by either line noise
- or very slow responses from the sender.
-
- Timed out
- Too much time has passed since the last character was received. Probably
- caused by line noise, very slow responses from the sender, or failure of the
- sender.
-
- To abort, press UNDO at any time
- This just informs you that you can abort a transfer by pressing the UNDO key.
-
-
-
-
-
- - 20 -
-
-
-
-
-
-
-
- Too many retries
- Too many errors have occurred. The session is aborted.
-
- Transfer of <filename> complete, <size> bytes
- Transfer of a file complete successfully. The filename and actual size is
- indicated.
-
- Unexpected ZACK from sender!
- This packet type is used for uploading, but XYZ got one while downloading.
- Make sure XYZ and the remote system are set to transfer files in the same
- direction.
-
- Unknown device
- You didn't specify a valid drive letter in the pathname on the command line.
-
- Unknown media
- The disk you are trying to use is not formatted correctly.
-
- Usage: xyz.ttp [options] <path>
- Prints in response to the -h (help) option, or an invalid option. A list of
- all possible options follows.
-
- User aborted
- You have pressed the UNDO key, and the session has been aborted.
-
- Verbose mode is on!
- The -v option was specified. Special debugging information will be written to
- the screen or a specified file.
-
- Write fault
- An error occurred while XYZ was trying to write to the disk. The disk may be
- damaged.
-
- Write protect
- The write protect window on the floppy disk is open.
-
- <number> XMODEM blocks
- <number> XMODEM-1k blocks
- The number of blocks it will take to send the file is given.
-
- <number> YMODEM blocks
- The number of blocks it will take to send the current file is given.
-
- YMODEM complete!
- YMODEM session has completed.
-
- YMODEM file transfer
- A YMODEM session is beginning.
-
- YMODEM packet received, but doing XMODEM
- A YMODEM file specification was received, but XYZ is set to do an XMODEM
- transfer. Make sure you select the same mode for both XYZ and the remote
- system.
-
-
-
-
-
- - 21 -
-
-
-
-
-
-
-
- YMODEM transfer aborted!
- An error has occurred, and the YMODEM session is being aborted.
-
- ZBIN Bad CRC: <CRC value>
- An invalid CRC was at the end of a binary-style packet. The CRC value is
- specified.
-
- ZEOF = 0x%lx, f_offset = 0x%lx
- The sender is claiming end-of-file, but XYZ hasn't received all of it. The
- file size the sender specifies and the amount XYZ has received is printed.
-
- ZFILE acked with <type>
- The remote system sent the indicated packet type in response to XYZ's ZFILE
- (file specification) packet.
-
- ZFIN acked with <type>
- The remote system sent the indicated packet type in response to XYZ's ZFIN
- (end of transaction) packet.
-
- ZHEX Bad CRC: <CRC value>
- An invalid CRC was at the end of a hex-style packet. The CRC value is
- specified.
-
- ZMODEM file transfer
- A ZMODEM session has started.
-
- ZMODEM transfer complete.
- A ZMODEM session has completed.
-
- ZRINIT expected prior to ZFIN, but got <type>
- The remote system is trying to end the session, but it didn't complete sending
- the last file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 22 -
-
-